package com.wlb365.admin.modules.monitor.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import com.wlb365.admin.common.support.entity.BaseEntity;

import java.time.LocalDateTime;

/**
 * <p>
 * 接口监控信息
 * </p>
 *
 * @author
 * @since 2021-01-27 13:18:15
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("monitor_info")
public class MonitorInfo extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     *
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 路由id
     */
    private String routeId;

    /**
     * 接口名
     */
    private String name;

    /**
     * 版本号
     */
    private String version;

    /**
     * 服务ID
     */
    private String serviceId;

    /**
     * 实例ID
     */
    private String instanceId;

    /**
     * 请求耗时最长时间
     */
    private Integer maxTime;

    /**
     * 请求耗时最小时间
     */
    private Integer minTime;

    /**
     * 总时长，毫秒
     */
    private Long totalTime;

    /**
     * 总调用次数
     */
    private Long totalRequestCount;

    /**
     * 成功次数
     */
    private Long successCount;

    /**
     * 失败次数（业务主动抛出的异常算作成功，如参数校验，未知的错误算失败）
     */
    private Long errorCount;

    /**
     *
     */
    private LocalDateTime gmtCreate;

    /**
     *
     */
    private LocalDateTime gmtModified;

}
